<?php namespace system\model;
use houdunwang\model\Model;
class Category extends Model{
	//数据表
	protected $table = "category";

	//允许填充字段
//	protected $allowFill = ['*'];
	protected $allowFill=['*'];



	//自动验证
	protected $validate=[
//		['字段名','验证方法','提示信息',验证条件,验证时间]
//		['cname','isnull','字段名不能为空',3,self::MODEL_INSERT],
//		['ctitle','isnull','标题不能为空',3,self::MODEL_INSERT],
//		['cdes','isnull','描述不能为空',3,self::MODEL_INSERT],
//		['ckeywords','isnull','关键字不能为空',3,self::MODEL_INSERT]

	];

	//自动完成
	protected $auto=[
		//['字段名','处理方法','方法类型',验证条件,验证时机]
	];

	//自动过滤
    protected $filter=[
        //[表单字段名,过滤条件,处理时间]
    ];
public function getdata(){
//	查询表
	$data=Db::table('category')->get();
//	p($data);die;变成树状结构
	$a=Arr::tree($data,'cname');
//		p($a);die;
	return $a;
}
	//时间操作,需要表中存在created_at,updated_at字段
	protected $timestamps=false;
	public function addCategory(){
		//获取数据库数据
		return $this->save($_POST);
	}
//	添加子类
	public function addson(){
		//获取数据库数据
//		p($_POST);die;
		return $this->save($_POST);

	}
//	编辑
	public function catedit(){
//		p($_POST);die;
	$model = Category::find($_POST['cid']); // 查找主键为1的数据
		$model->ctitle = $_POST['ctitle']; // 修改数据对象
		$model->cname=$_POST['cname'];
		$model->cdes=$_POST['cdes'];
		$model->ckeywords=$_POST['ckeywords'];
		$model->csort=$_POST['csort'];
		$model->pid=$_POST['pid'];
		return $model->save(); // 保存当前数据对象
	}

//寻找子类
	public function getSon($data,$cid){
			static  $tmp=[]; //存找出来的所有儿子不包括自己
			foreach($data as $key=>$v){
//				如果标签等于我们穿过来的主键的名字证明这个标签就是这个主键的儿子
				if($v['pid']==$cid){
					$tmp[]=$v['cid'];
//					递归找孙子
					$this->getSon($data,$v['cid']);
				}

			}
		return $tmp;
	}
	public function led($cid){
//		p($cid);die;
//		找到分类为主键为cid的所有分类：找到所有儿子包括他自己
		$shuju=Db::table('category')->where('pid',$cid)->get();
		$biaoqian=current(Db::table('category')->where('cid',$cid)->get(['pid']));
//		p($biaoqian);die;
		if($shuju){
			foreach($shuju as $k=>$v){
				//将要删除标签的pid给了他儿子
				$this->where('cid','=', $v['cid'])->update(['pid' => $biaoqian['pid']]);
			}
		}
		return	Category::delete($cid); // 删除主键为8的数据


	}


}